using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("DemoMgr")]
	public class DemoMgr : MonoClass
	{
		public DemoMode m_mode => method_2<DemoMode>("m_mode");

		public Notification m_demoText => method_3<Notification>("m_demoText");

		public bool m_shouldGiveArenaInstruction => method_2<bool>("m_shouldGiveArenaInstruction");

		public bool m_nextTipUnclickable => method_2<bool>("m_nextTipUnclickable");

		public bool m_nextDemoTipIsNewArenaMatch => method_2<bool>("m_nextDemoTipIsNewArenaMatch");

		public static bool LOAD_STORED_SETTING => MonoClass.smethod_6<bool>(TritonHs.MainAssemblyPath, "", "DemoMgr", "LOAD_STORED_SETTING");

		public DemoMgr(IntPtr address, string className)
			: base(address, className)
		{
		}

		public DemoMgr(IntPtr address)
			: this(address, "DemoMgr")
		{
		}

		public static DemoMgr Get()
		{
			return MonoClass.smethod_15<DemoMgr>(TritonHs.MainAssemblyPath, "", "DemoMgr", "Get", Array.Empty<object>());
		}

		public string GetStoredGameMode()
		{
			return method_13("GetStoredGameMode");
		}

		public void Initialize()
		{
			method_8("Initialize");
		}

		public bool IsDemo()
		{
			return method_11<bool>("IsDemo", Array.Empty<object>());
		}

		public bool IsExpoDemo()
		{
			return method_11<bool>("IsExpoDemo", Array.Empty<object>());
		}

		public bool IsSocialEnabled()
		{
			return method_11<bool>("IsSocialEnabled", Array.Empty<object>());
		}

		public bool IsCurrencyEnabled()
		{
			return method_11<bool>("IsCurrencyEnabled", Array.Empty<object>());
		}

		public bool IsHubEscMenuEnabled()
		{
			return method_11<bool>("IsHubEscMenuEnabled", Array.Empty<object>());
		}

		public bool CantExitArena()
		{
			return method_11<bool>("CantExitArena", Array.Empty<object>());
		}

		public bool ArenaIs1WinMode()
		{
			return method_11<bool>("ArenaIs1WinMode", Array.Empty<object>());
		}

		public bool ShouldShowWelcomeQuests()
		{
			return method_11<bool>("ShouldShowWelcomeQuests", Array.Empty<object>());
		}

		public DemoMode GetMode()
		{
			return method_11<DemoMode>("GetMode", Array.Empty<object>());
		}

		public void SetMode(DemoMode mode)
		{
			method_8("SetMode", mode);
		}

		public void SetModeFromString(string modeString)
		{
			method_8("SetModeFromString", modeString);
		}

		public DemoMode GetModeFromString(string modeString)
		{
			return method_11<DemoMode>("GetModeFromString", new object[1] { modeString });
		}

		public void CreateDemoText(string demoText)
		{
			method_9("CreateDemoText", new Class276.Enum20[1] { Class276.Enum20.String }, demoText);
		}

		public void CreateDemoText(string demoText, bool unclickable)
		{
			method_9("CreateDemoText", new Class276.Enum20[2]
			{
				Class276.Enum20.String,
				Class276.Enum20.Boolean
			}, demoText, unclickable);
		}

		public void CreateDemoText(string demoText, bool unclickable, bool shouldDoArenaInstruction)
		{
			method_9("CreateDemoText", new Class276.Enum20[3]
			{
				Class276.Enum20.String,
				Class276.Enum20.Boolean,
				Class276.Enum20.Boolean
			}, demoText, unclickable, shouldDoArenaInstruction);
		}

		public void ChangeDemoText(string demoText)
		{
			method_8("ChangeDemoText", demoText);
		}

		public void NextDemoTipIsNewArenaMatch()
		{
			method_8("NextDemoTipIsNewArenaMatch");
		}

		public void DemoTextLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("DemoTextLoaded", assetRef, go, callbackData);
		}

		public void RemoveDemoTextDialog(UIEvent e)
		{
			method_9("RemoveDemoTextDialog", new Class276.Enum20[1] { Class276.Enum20.Class }, e);
		}

		public void RemoveDemoTextDialog()
		{
			method_9("RemoveDemoTextDialog", new Class276.Enum20[0]);
		}

		public void MakeDemoTextClickable(bool clickable)
		{
			method_8("MakeDemoTextClickable", clickable);
		}

		public void ApplyAppleStoreDemoDefaults()
		{
			method_8("ApplyAppleStoreDemoDefaults");
		}

		public void WillReset()
		{
			method_8("WillReset");
		}
	}
}
